solve differential equation